package basic_grammar

import "fmt"

// 包内变量
// 包内变量初始化可以不使用
var (
	aa = 1
	bb = "hello"
	ee = true
	zz string
)

// const 修饰常量
const (
	STATE_CODE = 200
	MESSAGE    = "success"
)

func VariableExample() {

	// 局部变量
	//1. var 变量名 变量类型 (= 表达式)
	var age int
	fmt.Print(age)

	// 相同类型定义多个值
	var class, grade int = 2, 3
	fmt.Println(class, grade)

	// 不同类型定义多个值
	var lenth, width = 23.1, 10
	fmt.Printf("%v, %T, %v, %T\n", lenth, lenth, width, width)

	//2. 变量名 ：= 初始值
	name := "小明"
	fmt.Println(name)
	cc, la := "yahaha", 900
	fmt.Println(cc, la)
	fmt.Println(MESSAGE)

}

//itoa 常量生成器
func Enum() {
	const (
		b = 1 << (10 * iota)
		kb
		mb
		gb
		tb
		pb
	)
	fmt.Println(b, kb, mb, gb, tb, pb)
}
